﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.sqt2
    多元线性回归分析
    void sqt2(int m, int n, double x[], double y[], double a[], double dt[4], double v[])
    参数 m: 自变量个数。
    参数 n: 观测数据的组数。
    参数 x: x[m][n]每一列存放m个自变量的规测值。
    参数 y: y[n]存放随机变量y的n个规测值。
    参数 a: a[m+1]返回回归系数。
    参数 dt: dt[4]分别返回偏差平方和、平均标准偏差、复相关系数与回归平方和。
    参数 v: v[m]返回m个自变量的偏相关系数。
    */

    public static string drive_sqt2()
    {
        int i;
        double[] a = new double[4];
        double[] v = new double[3];
        double[] dt = new double[4];
        double[,] x = new double[3, 5] {
            {1.1,1.0,1.2,1.1,0.9},
            {2.0,2.0,1.8,1.9,2.1},
            {3.2,3.2,3.0,2.9,2.9}
        };
        double[] y = new double[5] { 10.1, 10.2, 10.0, 10.1, 10.0 };
        gl.sqt2(3, 5, x, y, a, dt, v);

        string rs = "";
        rs += gl.html_table("回归系数", a);
        rs += gl.html_table("偏差平方和,平均标准偏差,复相关系数,回归平方和", dt);
        rs += gl.html_table("偏相关系数", v);
        return rs;
    }
}